/**
 *	\file
 *	\brief represents an identifier of a single label (special or standard it doesn't matter) used by a resource
 *
 *	Resources owns two types of access permissions:
 *	\li write permissions;
 *	\li read permissions;
 *
 *	those privileges are determinated by group labels. These labels can be of  2 types:
 *	\li standard: a normal string;
 *	\li special: can be ALL, ONLYME, CHILDREN;
 *
 * 	\date Sep 12, 2013
 * 	\author koldar
 * 	\version 1.0
 */

#ifndef IDENTIFIER_H_
#define IDENTIFIER_H_

/**represents a non-compiling value of a standard label which represents the ALL special label.
 * The value has been choosen because it isn't a valid value for a standard label
 */
#define IDENTIFIER_GROUP_ALL "1"
/**represents a non-compiling value of a standard label which represents the ONLYME special label.
 * The value has been choosen because it isn't a valid value for a standard label
 */
#define IDENTIFIER_GROUP_ONLYME "2"
/**represents a non-compiling value of a standard label which represents the CHILDREN special label.
 * The value has been choosen because it isn't a valid value for a standard label
 */
#define IDENTIFIER_GROUP_CHILDREN "3"

/**represents a single pointer to an identifier representing a group label or a parent class name. Special Labels are determined by some special values
 * of the array of char
 */
typedef char* Pidentifier;

#endif /* IDENTIFIER_H_ */
